Java Technologies Eureka Server এবং Eureka Client সেটআপ করা গাইড ও নোট

326

Eureka হল Netflix-এর একটি সার্ভিস ডিসকভারি প্ল্যাটফর্ম যা Spring Cloud এর সাথে ইন্টিগ্রেট করা যায়। এটি মাইক্রোসার্ভিসের মধ্যে একে অপরকে খুঁজে বের করার জন্য ব্যবহৃত হয়, যাতে সার্ভিসগুলো নিজস্ব অবস্থান (ইউআরএল) রেজিস্ট্রেশন করে এবং অন্য সার্ভিসগুলো তাদের খুঁজে পেতে পারে।

এখন আমরা দেখব Eureka Server এবং Eureka Client কিভাবে সেটআপ করতে হয়।


১. Eureka Server সেটআপ

Step 1: Maven ডিপেনডেন্সি যোগ করা

প্রথমে আপনার pom.xml ফাইলে Eureka Server এর জন্য ডিপেনডেন্সি যোগ করতে হবে।

<dependencies>
    <!-- Spring Boot Starter Web Dependency -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Eureka Server Dependency -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    </dependency>

    <!-- Spring Boot Starter Actuator for Monitoring -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

Step 2: @EnableEurekaServer এনোটেশন যুক্ত করা

Eureka Server চালানোর জন্য আপনার Spring Boot অ্যাপ্লিকেশনে @EnableEurekaServer এনোটেশন যোগ করতে হবে।

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer  // Enable Eureka Server
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

Step 3: application.properties কনফিগারেশন

Eureka Server এর কনফিগারেশন application.properties বা application.yml ফাইলে করতে হবে।

# Eureka Server Configuration
spring.application.name=eureka-server
server.port=8761  # Port where Eureka Server will run

# Eureka Server Settings
eureka.client.register-with-eureka=false  # Disable registration for Eureka Server itself
eureka.client.fetch-registry=false  # Disable fetching the registry for Eureka Server
eureka.server.enable-self-preservation=false  # Disable self-preservation mode for the server

এখন আপনার Eureka Server তৈরি হয়েছে এবং এটি localhost:8761-এ চলবে।


২. Eureka Client সেটআপ

Step 1: Maven ডিপেনডেন্সি যোগ করা

Eureka Client-এ নিম্নলিখিত ডিপেনডেন্সি যোগ করুন।

<dependencies>
    <!-- Spring Boot Starter Web Dependency -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Eureka Client Dependency -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
</dependencies>

Step 2: @EnableEurekaClient এনোটেশন যুক্ত করা

Eureka Client এর জন্য আপনার Spring Boot অ্যাপ্লিকেশনে @EnableEurekaClient এনোটেশন যোগ করতে হবে (এটা Spring Boot 2.x এ প্রয়োজনীয় নয় কারণ Spring Cloud স্বয়ংক্রিয়ভাবে Eureka Client কে সনাক্ত করে, তবে আপনি এখানে যুক্ত করতে পারেন)।

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient  // Enable Eureka Client
public class EurekaClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaClientApplication.class, args);
    }
}

Step 3: application.properties কনফিগারেশন

Eureka Client এর কনফিগারেশন application.properties বা application.yml ফাইলে করতে হবে।

# Eureka Client Configuration
spring.application.name=eureka-client  # Service name
server.port=8080  # Port where client will run

# Eureka Server URL
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/  # Eureka Server URL

# Other client configuration
eureka.instance.hostname=localhost  # Instance hostname

এটি eureka.client.service-url.defaultZone দ্বারা Eureka Server এর URL নির্ধারণ করে।

Step 4: Eureka Server এর সাথে Client রেজিস্টার করা

Eureka Client তার নিজস্ব অ্যাপ্লিকেশন স্টার্ট করলে, এটি Eureka Server এর সাথে সংযুক্ত হবে এবং রেজিস্টার করবে। Eureka Server যেকোনো সার্ভিস থেকে সংযুক্ত অ্যাপ্লিকেশনগুলিকে ট্র্যাক করতে পারবে।


৩. Eureka Server এবং Client-কে সংযুক্ত করা

  1. Eureka Server শুরু করুন: প্রথমে আপনার Eureka Server অ্যাপ্লিকেশনটি রান করুন।
  2. Eureka Client শুরু করুন: এরপর আপনার Eureka Client অ্যাপ্লিকেশনটি রান করুন।
  3. Eureka Server Dashboard: একবার সব সঠিকভাবে রান হলে, আপনি localhost:8761 এ Eureka Server এর ড্যাশবোর্ডে গিয়ে ক্লায়েন্ট অ্যাপ্লিকেশন রেজিস্ট্রেশন দেখতে পারবেন।

৪. Eureka Server এবং Client এর মধ্যে কার্যকারিতা

  • Service Registration and Discovery: Eureka Server স্বয়ংক্রিয়ভাবে সমস্ত রেজিস্টার করা সার্ভিসের তথ্য সংগ্রহ করে এবং ক্লায়েন্টরা এই সার্ভিসগুলোকে খুঁজে পায়।
  • Dynamic Scaling: সার্ভিস নতুন ইনস্ট্যান্স যোগ করলে Eureka Client সেই সার্ভিসকে Eureka Server-এ রেজিস্টার করে।
  • Self-Healing: যদি একটি সার্ভিস ব্যর্থ হয়, Eureka স্বয়ংক্রিয়ভাবে সেই সার্ভিসকে বাতিল করে দেয় এবং অন্য সার্ভিস থেকে ডেটা পাঠানো হয়।

উপসংহার

  • Eureka Server একটি সার্ভিস ডিসকভারি প্ল্যাটফর্ম যা সমস্ত মাইক্রোসার্ভিসের অবস্থান ট্র্যাক করে।
  • Eureka Client নিজেকে Eureka Server-এ রেজিস্টার করে এবং একে অপরের অবস্থান খুঁজে পায়।
  • Spring Cloud Eureka ব্যবহার করে মাইক্রোসার্ভিসের মধ্যে সহজেই যোগাযোগ এবং ডিসকভারি পরিচালনা করা যায়।

এইভাবে, Eureka Server এবং Eureka Client সেটআপ করে মাইক্রোসার্ভিসের মধ্যে সার্ভিস ডিসকভারি সম্পন্ন করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...